home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / hobbes3 / _hobbes.c next >
Encoding:
C/C++ Source or Header  |  1992-08-29  |  1.0 KB  |  45 lines

  1. // Hobbes ModeX Library
  2. // Copyright (c) 1992 Court Demas
  3.  
  4. #include <stdlib.h>
  5. #include <conio.h>
  6. #include "hobbes.h"
  7.  
  8. void SetVirtualPort(int x, int y) {
  9.     int i;
  10.     Virtual_Width_Pix = x;
  11.     Virtual_Height_Pix = y;
  12.     Virtual_Width_Addr = x / 4;
  13.     Virtual_Height_Addr = y / 4;
  14.     Virtual_Size = ((long)Virtual_Width_Addr * Virtual_Height_Pix); // 4;
  15.     Page0_Offset = Split_Line * Virtual_Width_Addr;
  16.     Page1_Offset = Page0_Offset + Virtual_Size;
  17.     outp(CRTC_INDEX, OFFSET);
  18.     outp(CRTC_INDEX+1, Virtual_Width_Addr/2);
  19.     for(i=0;i<512;i++) {
  20.         RowOffset[i] = (unsigned) i*Virtual_Width_Addr;
  21.         }
  22. }
  23.  
  24. void DrawOnSplit(void) {
  25.     Draw_Offset = Split_Offset;
  26. }
  27.  
  28. void DrawOnScreen(void) {
  29.     if (Current_Page==0)
  30.         Draw_Offset = Page0_Offset;
  31.       else
  32.         Draw_Offset = Page1_Offset;
  33. }
  34.  
  35. /*
  36. void     FlipPage(void) {
  37.     Display_Offset = Draw_Offset;
  38.     Draw_Offset = Draw_Offset ^ Virtual_Size;
  39.     SwapPage();
  40.     ShowPage(Display_Offset);
  41. }
  42. */
  43.  
  44. //---------------------------------------------------------------------------
  45. // End of Hobbes.c